<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>

    //Promise本身是Es6新增语法，意思是"承诺"
    //Promise内部的代码运行的结果以三种状态来表示
    //状态：unfinished  未完成（初始状态）
    //状态一：resolve 完成，成功
    //状态二：reject  失败

    //语法：new Promise((resolve,reject)=>{})


    new Promise((resolve, reject) => {

        //这里可以写任何js代码
        //写在这里的代码可以看做一个任务（功能），这个任务最终必须有一个运行结果（必须是明确的结果）
        //想要在这里更改Promise对象的状态，必须使用resolve,reject函数

        //调用resolve函数，则Promise对象的状态会变成 finished 成功
        //调用reject函数，则Promise对象的状态会变成 rejected 失败

        setTimeout(() => {
            //     resolve(8888);//当前Promise对象的状态变为finished成功，会立即调用then方法的回调函数
            // }, 5000);
            reject(8888);//当前Promise对象的状态变为reject失败，会立即调用then方法的回调函数
        }, 2000);

    }).then((res) => {
        console.log("Promise对象的状态变为 finished 成功", res);
    }).catch((ees) => {
        console.log("Promise对象的状态变为 rejected 失败", ees);
    })
</script>